package ch14;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//  ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ (浮点数)
// ^(-?\d+)(\.\d)?$(浮点数)
/*2:输入字符串，计算可转换成的最大浮点数字，从左侧开始，直到非数字结束，
比如输入124abc,则最大是124，如果是122.44fff,则是122.44
*/
public class ch14exer1mutiply {
    public static void main(String[] args) {
        Scanner scan =new Scanner(System.in);
        System.out.println("输入字符串:");
        String str =scan.next();
        int index;

       char[]chars=str.toCharArray();
       //for(int i=0;i<chars.length;i++){
           if(!((int)(chars[0])>=48&&(int)(chars[0])<=57)){//从左侧开始非数字
               System.out.println("左侧开始非数字，不合要求");
               return;
           }else {
              /* boolean isOK=str.matches("^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$");
               boolean isO=str.matches("(^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$)\\D+");

               if(isO||isOK){
                   System.out.println(str);
               }*/
               //Pattern pattern=Pattern.compile("(^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$)(\\D+)");
               //Pattern pattern=Pattern.compile("(^(-?\\d+)(\\.\\d)?|(-?\\d+)(\\.\\d)?(\\D)?$)");
               Pattern pattern=Pattern.compile("(^(-?\\d+)(\\.\\d)?|(-?\\d+)(\\.\\d)?(\\D)?$)");

               Matcher matcher=pattern.matcher(str);
               while (matcher.find()){
                   System.out.println(matcher.group(0));
               }

           }
       //}
    }
}
